Neighbor mapping systems and methods

ABSTRACT

Neighbor mapping and communication systems and methods are provided herein.

FIELD

This disclosure is directed to computer-based mapping. Moreparticularly, this disclosure is directed to overlaying people data on aneighborhood map and facilitating mass communications to some or allneighborhood residences.

BACKGROUND

Many people, even those who may have lived in a neighborhood for years,may not know many of their neighbors personally. Nonetheless, there maybe occasions when one resident of a neighborhood may want to determinethe identities of their neighbors and/or contact their neighbors forsome purpose, such as to organize an event or notify them of informationrelevant to the neighborhood. Many online services may provideneighborhood maps, and many other online services may provide contactinformation for individuals. However, existing online systems are notoriented towards facilitating identification of and/or communicationwith one's neighbors, forcing some residents to go door-to-door tocollect or disseminate information face to face.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a simplified neighbor-mapping system in whichneighbor-mapping server and client device are connected to a network.

FIG. 2 illustrates several components of an exemplary neighbor-mappingserver.

FIG. 3 illustrates a routine for overlaying people data on a map, suchas may be performed by neighbor-mapping server in accordance with oneembodiment.

FIG. 4 illustrates a subroutine for determining one or more neighborhooddwelling structures in which a given set of residents reside, such asmay be performed by neighbor-mapping server 200 in accordance with oneembodiment.

FIG. 5 illustrates a subroutine for populating a given map view and agiven list view according to a given data structure associating a listof residents with one or more neighborhood dwelling structures, such asmay be performed by neighbor-mapping server in accordance with oneembodiment.

FIG. 6 illustrates a subroutine for processing a mass-communicationrequests from the remote user, such as may be performed byneighbor-mapping server in accordance with one embodiment.

FIGS. 7-13 show various user interfaces that may be employed inconnection with various embodiments.

DESCRIPTION

In accordance with various embodiments, as described below, a neighbormapping service may allow users to search a map by geolocation,overlaying contact information for nearby residents. Some neighbormapping services may further provide tools to facilitate sending masscommunications to selected neighborhood residences.

The detailed description that follows is represented largely in terms ofprocesses and symbolic representations of operations by conventionalcomputer components, including a processor, memory storage devices forthe processor, connected display devices and input devices. Furthermore,these processes and operations may utilize conventional computercomponents in a heterogeneous distributed computing environment,including remote file Servers, computer Servers, and memory storagedevices. Each of these conventional distributed computing components isaccessible by the processor via a communication network.

Reference is now made in detail to the description of the embodiments asillustrated in the drawings. While embodiments are described inconnection with the drawings and related descriptions, there is nointent to limit the scope to the embodiments disclosed herein. On thecontrary, the intent is to cover all alternatives, modifications, andequivalents. Alternate embodiments, additional devices, or combinationsof illustrated devices, may be added to, or combined, without limitingthe scope to the embodiments disclosed herein.

FIG. 1 illustrates a simplified neighbor-mapping system in whichneighbor-mapping server 200 and client device 105 are connected tonetwork 150. In various embodiments, network 150 may include theInternet, a local area network (“LAN”), a wide area network (“WAN”),and/or other data network.

In various embodiments, additional infrastructure (e.g., cell sites,routers, gateways, firewalls, and the like), as well as additionaldevices may be present. Further, in some embodiments, the functionsdescribed as being provided by neighbor-mapping server 200 may beimplemented via various combinations of physical and/or logical devices.However, it is not necessary to show such infrastructure andimplementation details in FIG. 1 in order to describe an illustrativeembodiment.

FIG. 2 illustrates several components of an exemplary neighbor-mappingserver 200. In some embodiments, neighbor-mapping server 200 may includemany more components than those shown in FIG. 2. However, it is notnecessary that all of these generally conventional components be shownin order to disclose an illustrative embodiment. As shown in FIG. 2,neighbor-mapping server 200 includes a data network interface 230 forconnecting to data network 150.

Neighbor-mapping server 200 also includes a processing unit 215, amemory 250, and an optional display 240, all interconnected along withthe network interface 230 via a bus 220. The memory 250 generallycomprises a random access memory (“RAM”), a read only memory (“ROM”),and a permanent mass storage device, such as a disk drive. The memory250 stores program code for neighbor-mapping routine 300 (see FIG. 3).

In addition, the memory 250 also stores an operating system 255 andpeople-data database 260 (and/or routines for access to an externaldatabase), which includes identifying information (e.g., names),residence information (e.g., street addresses and latitude/longitude orother geolocation data), contact information (e.g., phone numbers, emailaddresses, and the like) for individuals in a certain geographic area(e.g., a nation, state, county, city, or the like). In many embodiments,people-data database 260 may include spatial indices or be otherwisestructured to facilitate spatial people queries (e.g., queries thatidentify people—and their associated residence and contactinformation—who reside within a specified geographic area).

These and other software components may be loaded from a non-transitory,tangible computer readable storage medium 295 into memory 250 of theneighbor-mapping server 200 using a drive mechanism (not shown)associated with a non-transitory computer readable storage medium 295,such as a floppy disc, tape, DVD/CD-ROM drive, flash card, memory card,or other like storage medium. In some embodiments, software componentsmay also or instead be loaded via a mechanism other than a drivemechanism and computer readable storage medium 295 (e.g., via networkinterface 230).

Although neighbor-mapping server 200 has been described as aconventional computing device, in other embodiments, neighbor-mappingserver 200 may include other computing devices capable of communicatingwith data network 150, for example, a mobile phone, an tablet, a set-topbox, or other like device.

FIG. 3 illustrates a routine 300 for overlaying people data on a map,such as may be performed by neighbor-mapping server 200 in accordancewith one embodiment. In block 305, routine 300 obtains (e.g., from auser operating a remote client device) a request to provide a mapshowing a geographic search location, the map being overlaid with peopledata corresponding to residents who live nearby the geographic searchlocation. In some embodiments, the geographic search location may beprovided by a remote user in the form of a street address,latitude/longitude coordinates, or other geolocation data. In otherembodiments, a remote user may provide data from which routine 300derives a geographic search location (e.g., a landmark, neighborhood,person, or business name that corresponds to a street address,latitude/longitude coordinates, or other geolocation data) viapeople-data database 260.

In block 310, routine 300 determines a neighborhood search boundarysurrounding the geographic search location obtained in block 305. Forexample, in one embodiment, routine 300 may determine a boundaryencompassing a circle with a predetermined radius (e.g., 0.5 miles, 1mile, 2 miles, or the like) centered on a point corresponding to thegeographic search location. In another embodiment, routine 300 mayobtain a boundary designation from a remote user (e.g., a circle with aradius provided by the user, an area defined by specified city blocks orpredetermined neighborhood boundaries).

In block 315, routine 300 determines a maximum number (hereinafter“RESMAX”) of nearby residents to display on the requested map. In someembodiments, RESMAX may be a predetermined fixed value (e.g., 100residents, 200 residents, or the like). In other embodiments, a remoteuser may specify a value for RESMAX. In still other embodiments, RESMAXmay be determined dynamically using factors such as the size of thewindow in which the map will be displayed on the client device (e.g.,smaller RESMAX for maps that will be displayed in a smaller window,larger RESMAX for maps that will be displayed in a larger window).

In block 320, routine 300 queries people-data database 260 (e.g., usinga spatial query) to identify up to RESMAX people who reside nearest thegeographic search location provided in block 305 and who reside withinthe neighborhood search boundary determined in block 310. For example,if RESMAX were 100 and 200 people reside within the neighborhood searchboundary, then routine 300 would identify the 100 people who residenearest the geographic search location. On the other hand, if RESMAXwere 100 and 50 people reside within the neighborhood search boundary,then routine 300 would identify all 50 people who reside within theneighborhood search boundary. In some embodiments, the nearby residentsmay be ordered according to their respective distances from thegeographic search location.

In subroutine block 400, routine 300 calls subroutine 400 (see FIG. 4,discussed below) to determine one or more neighborhood dwellingstructures in which the nearby residents (identified in block 320)reside. As the term is used herein, a “dwelling structure” refers to abuilding or structure that includes one or more residences. For example,a single family home is a dwelling structure that includes oneresidence; a duplex or triplex is a dwelling structure that includes twoor three residences, respectively; a multi-unit condominium or apartmentbuilding is a dwelling structure that includes multiple residences; andthe like. In some embodiments, a single dwelling structure maycorrespond to a single street address (e.g., 123 Maple Street), that mayhave multiple individual unit or residence addresses (e.g., 123 MapleStreet, Apt. 1; 123 Maple Street, Apt. 2; and the like).

In block 330, routine 300 initializes data structures associated with amap view and a list view. In subroutine block 500, routine 300 callssubroutine 500 (see FIG. 5, discussed below) to populate the map andlist views according to the nearby residents identified in block 320 andthe dwelling structures determined in subroutine block 400. In block340, routine 300 provides the populated views to the remote user inresponse to the request obtained in block 305. For example, in oneembodiment, routine 300 may provide the populated views (via HyperTextMarkup Language (“HTML”), Extensible Markup Language (“XML”), JavaScriptObject Notation (“JSON”) data files) along with associated scripts orlogic; presentation, formatting, or styling data; image files; and thelike that may collectively be rendered in a web browser, a contactsapplication, a mapping application, or other like application on theremote client device.

In some embodiments, the logic provided to the client device may furtherfacilitate user interaction with the people data, including facilitiesfor generating and delivering mass communications to some or all of thenearby residents. In such embodiments, routine 300 processesmass-communication requests from the remote user in subroutine block 600(see FIG. 6, discussed below). Routine 300 ends in block 399.

FIG. 4 illustrates a subroutine 400 for determining one or moreneighborhood dwelling structures in which a given set of residentsreside, such as may be performed by neighbor-mapping server 200 inaccordance with one embodiment. In block 405, subroutine 400 initializesa list, array, table, object, or other suitable data structure(hereinafter “mappedResidences”) for storing (at least transiently) datacorresponding to one or more neighborhood dwelling structures.

Beginning in opening loop block 410, subroutine 400 processes each ofthe given nearby residents in turn. In block 413, subroutine 400determines a residence in which the current resident resides. Residenceinformation may typically be obtained by querying people-data database260 and typically includes a street address as well as an optional unitor apartment designator (e.g., “Apt. 1”, “Unit 305”, or the like).

In block 415, subroutine 400 determines a dwelling structurecorresponding to the residence identified in block 413. For example, ifthe residence information does not include a unit or apartmentdesignator, then the residence may be a single family home, in whichcase the residence is the dwelling structure. In other cases, theresidence information may include a unit or apartment designator, andthe dwelling structure may be determined by omitting the unit orapartment designator.

In decision block 420, subroutine 400 determines whether themappedResidences data structure already includes an entry correspondingto the current dwelling structure. If not, then in block 425, subroutine400 adds to mappedResidences an entry corresponding to the currentdwelling structure.

In block 430, subroutine 400 associates the current nearby resident withthe dwelling structure in the mappedResidences data structure. Inclosing loop block 435, subroutine 400 iterates back to block 410 toprocess the next nearby resident (if any). Once all nearby residentshave been processed, subroutine 400 ends in block 499, returning themappedResidences data structure (and/or a reference thereto) to thecaller.

FIG. 5 illustrates a subroutine 500 for populating a given map view anda given list view according to a given data structure (mappedResidences)associating a list of residents with one or more neighborhood dwellingstructures, such as may be performed by neighbor-mapping server 200 inaccordance with one embodiment.

In block 505, subroutine 500 determines a maximum count (hereinafter“DWELLMAX”) of residents to display in the initial list view. Forexample, in one embodiment, DWELLMAX may have a predetermined value of 1resident, 2 residents, 3 residents, or the like. In some embodiments,DWELLMAX may be user-configurable.

Beginning in opening loop block 510, subroutine 500 processes eachdwelling structure in the given mappedResidences data structure. Indecision block 515, subroutine 500 determines whether the currentdwelling structure includes multiple residences (e.g., whether thecurrent dwelling structure is associated with multiple residents whoreside at multiple different residences within the dwelling structure).If so, then in block 520, subroutine 500 selects a multi-residenceimage, icon, flag, or other visual marker to represent the currentdwelling structure in the list and/or map views; and in block 525,subroutine 500 adds the current dwelling structure to the given listview, including the selected multi-residence visual marker, as well as acontrol to toggle display of individual residences within the dwellingstructure. Subroutine 500 then proceeds to block 575, discussed below.

Otherwise, if in decision block 515, subroutine 500 determines that thecurrent dwelling structure includes only a single residence, then inblock 530, subroutine 500 selects a single-residence image, icon, flag,or other visual marker to represent the current dwelling structure inthe list and/or map views. In block 533, subroutine 500 adds to thegiven list view an entry corresponding to the current dwellingstructure, using the selected single-residence visual marker.

In block 535, subroutine 500 identifies up to DWELLMAX residents whoreside in the current dwelling structure. For example, if four residentsreside in a dwelling structure, and DWELLMAX has a value of 2, thensubroutine 500 would identify two of the four residents.

Beginning in opening loop block 540, subroutine 500 processes eachresident identified in block 535. In block 550, subroutine 500 obtains(e.g., from people-data database 260) name and contact information(e.g., an address, as well as zero or more of an email address, phonenumber, or the like) corresponding to the current resident, andsubroutine 500 adds a resident entry (including the name and contactinformation) to the dwelling-structure list-view entry created in block533. In closing loop block 560, subroutine 500 iterates back to block540 to process the next identified resident (if any).

Once all residents identified in block 535 have been processed, indecision block 565, subroutine 500 determines whether additionalresidents (beyond those identified in block 535) reside in the currentdwelling structure. If so, then in block 570, subroutine 500 adds to thelist view entry for the current dwelling structure a control to toggledisplay of the additional residents.

In block 575, subroutine 500 positions the visual marker selected inblock 530 or block 520 on the given map view. In closing loop block 580,subroutine 500 iterates back to block 510 to process the next dwellingstructure (if any) in the given mappedResidences data structure.

Once all dwelling structures have been processed, subroutine 500 ends inblock 599, returning the populated map and list views to the caller.

FIG. 6 illustrates a subroutine 600 for processing mass-communicationrequests from the remote user, such as may be performed byneighbor-mapping server 200 in accordance with one embodiment.

In block 605, subroutine 600 obtains an indication to prepare a masscommunication to several neighborhood residences displayed on a givenmap and/or list view. In block 610, subroutine 600 obtains (e.g., from apredetermined template data store) a template defining a structureand/or format of the mass communication, similar to a template file thatmight be used for a mail merge procedure. In some embodiments,subroutine 600 may select among several templates that are suitable fordifferent types of communication, such as a neighborhood “block-party”invitation, a garage sale announcement, a lost pet notification, and thelike.

In block 615, subroutine 600 obtains (e.g., from a remote user) amessage and/or other personalizations to customize the template obtainedin block 610.

In block 620, subroutine 600 provides selection controls that a remoteuser can use in connection with the given map and/or list view to selectcommunication recipients from among the group of displayed neighborhoodresidences.

In block 625, subroutine 600 obtains a selection (provided by a remoteuser via the selection controls provided in block 620) indicating two ormore of the neighborhood residences to which the mass communicationshould be delivered.

Beginning in opening loop block 630, subroutine 600 processes each ofthe selected neighborhood residences. In block 633, subroutine 600identifies one or more residents who reside in the current residence. Inblock 635, subroutine 600 selects one of the identified residents to bethe addressee for delivery of the mass communication. For example, inone embodiment, subroutine 600 may select the first resident returnedfrom a query of people-data database 260. In other embodiments,subroutine 600 may select the addressee resident using demographicinformation (if available), such as age, gender, or the like.

In block 640, subroutine 600 assembles a communication based on thetemplate obtained in block 610, the customizations obtained in block615, and contact information associated with the selected addressee.

In block 645, subroutine 600 provides the assembled communication fordelivery to the addressee. For example, in one embodiment, subroutine600 may electronically submit the communication to a print-serviceprovider to be printed and mailed to the addressee. In otherembodiments, subroutine 600 may prepare and send an electroniccommunication such as an email message to an electronic addressassociated with the addressee (if available). In still otherembodiments, subroutine 600 may prepare a personalized web pageincluding the assembled communication and deliver a link to thepersonalized web page via email, text message, or other electronicmessaging service. In yet other embodiments, subroutine 600 may preparea personalized web page including the assembled communication and submita human-readable and/or machine-readable encoding of the link (e.g., atwo-dimensional barcode) to a print-service provider to be printed andmailed to the addressee. Additional embodiments may employ additionalmedia and/or communications channels to deliver the communication to theaddressee.

In closing loop block 650, subroutine 600 iterates back to block 630 toprocess the next selected residence (if any). Once all residences havebeen processed, subroutine 600 ends in block 699.

FIG. 7 shows a user interface 700 that may be employed in connectionwith one embodiment. User interface 700 includes a neighborhood map view701 and list view 702 providing people data associated with residents ofdwellings shown on map view 701. User interface 700 includes controls705A-B for inputting a geographic search location, and control 710 forrequesting a map showing the geographic search location, the map beingoverlaid with people data corresponding to residents who live nearby thegeographic search location. User interface 700 also includes control 715for indicating the user's desire to prepare a mass communication toseveral neighborhood residences displayed on the map and/or list view.

Map view 701 includes many visual markers (e.g., 720A-E) positioned onthe map to correspond to the location of dwelling structures in theneighborhood. Single-family residences are marked with single-familymarkers (e.g., 720A and 720D-E), and multi-residence dwelling structuresare marked with multi-family markers (e.g. 720B-C). Visual markers720A-E also correspond respectively to visual markers 730A-E, displayedin list view 702.

List view 702 includes dwelling-structure entries 735A-E showing peopledata for residents of the dwelling units corresponding to markers720A-E. Dwelling-structure entry 735A shows name and contact data(address and phone number) for two of five residents who reside in asingle-family residence. Dwelling-structure entry 735A also includes acontrol (“Show all 5 residents”) to toggle on the display of theadditional three residents. Dwelling-structure entry 735D shows name andcontact data (address) for four residents who reside in a single-familyresidence. Dwelling-structure entry 735D also includes a control (“Showless”) to toggle off the display of two of the four residents.

Dwelling-structure entries 735B-C show contact data (address) formulti-family dwelling structures, the entries including controls (“5units” and “4 units”) to toggle display of individual residences withinthe dwelling structure.

FIG. 8 illustrates a user-interface 800 corresponding to a portion oflist view 702, in which the control (“4 units”) of dwelling-structureentry 735C of has been activated to toggle display of individualresidence entries 805A-D within the dwelling structure.

FIG. 9 illustrates a user-interface 900 that may be employed inconnection with one embodiment. User-interface 900 includes controls905A-B for selecting one of two templates defining a structure and/orformat of a mass communication.

FIG. 10 illustrates a user-interface 1000 that may be employed inconnection with one embodiment, including a control 1005 for previewinga populated mass communication template, a control 1010 to select one ormore neighborhood residences to be addressees of a mass communication,and controls 1015A-F for entering event detail data for populating amass communication template.

FIG. 11 illustrates a user-interface 1100 that may be employed inconnection with one embodiment, including preview views 1105A-B of afront and a back of a populated mass communication template, such as maybe provided for delivery to a selected addressee. Preview back 1105Balso includes a human-readable response link and unique identifier 1110to facilitate the recipient in responding to the invitation and tofacilitate the sender in tracking responses. User-interface 1100 alsoincludes a control 1115 for providing one or more populated masscommunication templates for delivery to one or more selected addressees.

FIG. 12 illustrates a user-interface that may be employed in connectionwith one embodiment, including a map view 1200 with visual-markercontrols (e.g., controls 1220A-E) for selecting neighborhood residencesto which a mass communication may be provided for delivery.

FIG. 13 shows a user interface 1300 that may be employed in connectionwith one embodiment. User interface 1300 includes a neighborhood mapview 1301 and list view 1305 providing people data associated withresidents of selected dwellings indicated by selected visual-markercontrols 1320A-E on map view 1301.

Map view 1301 includes many additional unselected visual-marker controls(e.g., controls 1325A-C) that may be used to select additionalresidences to receive a mass communication. Visual markers 1320B-E alsocorrespond respectively to visual markers 1330B-E, displayed in listview 1305. User interface 1300 also includes a control 1310 forassembling mass communications and providing them for delivery to theselected addressees.

Although specific embodiments have been illustrated and describedherein, it will be appreciated by those of ordinary skill in the artthat a whole variety of alternate and/or equivalent implementations maybe substituted for the specific embodiments shown and described withoutdeparting from the scope of the present disclosure. This application isintended to cover any such adaptations or variations of the embodimentsdiscussed herein.

The invention claimed is:
 1. A computer-implemented method for neighbormapping and communication, the method comprising: obtaining, by thecomputer, a request to overlay people data on a map showing a geographicsearch location; determining, by the computer, a neighborhood searchboundary surrounding said geographic search location; identifying, bythe computer, a plurality of residents residing within said neighborhoodsearch boundary; identifying, by the computer, a plurality ofneighborhood dwelling structures, each including one or more residencesin which one or more of said plurality of residents reside; populating,by the computer, a map user interface (“UI”), including: determiningwhether each dwelling structure of said plurality of neighborhooddwelling structures includes two or more residences; when a dwellingstructure is determined to include two or more residences, positioning afirst visual marker on said map UI indicating that said dwellingstructure is a multi-residence dwelling structure; and otherwise,positioning a second visual marker on said map UI indicating that saiddwelling structure is a single-residence dwelling structure; andproviding, by the computer, said populated map UI for display to aremote client device.
 2. The method of claim 1, further comprisingdetermining a maximum count of residents for overlay on said map.
 3. Themethod of claim 2, wherein said plurality of residents include no morethan said maximum count of residents.
 4. The method of claim 1, furthercomprising populating a list UI having a plurality of list entriescorresponding respectively to said plurality of neighborhood dwellingstructures.
 5. The method of claim 4, wherein populating said list UIcomprises determining a maximum resident count for initial display in alist entry of said plurality of list entries.
 6. The method of claim 5,wherein populating said list UI further comprises, for each of saidplurality of neighborhood dwelling structures: identifying one or moreof said plurality of residents who reside in a current dwellingstructure of said plurality of neighborhood dwelling structures;selecting no more than said maximum resident count of said identifiedone or more of said plurality of residents; and populating a list entrycorresponding to said current dwelling structure with name and contactinformation associated with said selected no more than said maximumresident count of said identified one or more of said plurality ofresidents.
 7. The method of claim 1, further comprising: obtaining anindication to prepare a mass communication to some or all of saidplurality of residents residing within said neighborhood searchboundary; obtaining a communication template for said masscommunication; obtaining a message to customize said communicationtemplate; obtaining a selection of a plurality of residences within saidneighborhood search boundary; selecting an addressee among one or moreresidents residing within each residence of said selection of saidplurality of residences; preparing a customized communication for eachselected addressee according to said communication template and saidmessage; and providing each customized communication for delivery to acorresponding addressee.
 8. The method of claim 7, wherein obtainingsaid selection of said plurality of residences comprises providing aplurality of selection controls on said map UI.
 9. A non-transientcomputer-readable storage medium having stored thereon instructions thatwhen executed by a processor, configure the processor to perform amethod for neighbor mapping and communication, the method comprising:obtaining a request to overlay people data on a map showing a geographicsearch location; determining a neighborhood search boundary surroundingsaid geographic search location; identifying a plurality of residentsresiding within said neighborhood search boundary; identifying aplurality of neighborhood dwelling structures, each including one ormore residences in which one or more of said plurality of residentsreside; populating a map user interface (“UI”), including: determiningwhether each dwelling structure of said plurality of neighborhooddwelling structures includes two or more residences; when a dwellingstructure is determined to include two or more residences, positioning afirst visual marker on said map UI indicating that said dwellingstructure is a multi-residence dwelling structure; and otherwise,positioning a second visual marker on said map UI indicating that saiddwelling structure is a single-residence dwelling structure; andproviding said populated map UI for display to a remote client device.10. The storage medium of claim 9, the method further comprisingdetermining a maximum count of residents for overlay on said map. 11.The storage medium of claim 10, wherein said plurality of residentsinclude no more than said maximum count of residents.
 12. The storagemedium of claim 9, the method further comprising populating a list UIhaving a plurality of list entries corresponding respectively to saidplurality of neighborhood dwelling structures.
 13. The storage medium ofclaim 12, wherein populating said list UI comprises determining amaximum resident count for initial display in a list entry of saidplurality of list entries.
 14. The storage medium of claim 13, whereinpopulating said list UI further comprises, for each of said plurality ofneighborhood dwelling structures: identifying one or more of saidplurality of residents who reside in a current dwelling structure ofsaid plurality of neighborhood dwelling structures; selecting no morethan said maximum resident count of said identified one or more of saidplurality of residents; and populating a list entry corresponding tosaid current dwelling structure with name and contact informationassociated with said selected no more than said maximum resident countof said identified one or more of said plurality of residents.
 15. Thestorage medium of claim 9, the method further comprising: obtaining anindication to prepare a mass communication to some or all of saidplurality of residents residing within said neighborhood searchboundary; obtaining a communication template for said masscommunication; obtaining a message to customize said communicationtemplate; obtaining a selection of a plurality of residences within saidneighborhood search boundary; selecting an addressee among one or moreresidents residing within each residence of said selection of saidplurality of residences; preparing a customized communication for eachselected addressee according to said communication template and saidmessage; and providing each customized communication for delivery to acorresponding addressee.
 16. The storage medium of claim 15, whereinobtaining said selection of said plurality of residences comprisesproviding a plurality of selection controls on said map UI.
 17. Acomputing apparatus comprising a processor and a memory having storedthereon instructions that when executed by the processor, configure theapparatus to perform a method for neighbor mapping and communication,the method comprising: obtaining a request to overlay people data on amap showing a geographic search location; determining a neighborhoodsearch boundary surrounding said geographic search location; identifyinga plurality of residents residing within said neighborhood searchboundary; identifying a plurality of neighborhood dwelling structures,each including one or more residences in which one or more of saidplurality of residents reside; populating a map user interface (“UI”),including: determining whether each dwelling structure of said pluralityof neighborhood dwelling structures includes two or more residences;when a dwelling structure is determined to include two or moreresidences, positioning a first visual marker on said map UI indicatingthat said dwelling structure is a multi-residence dwelling structure;and otherwise, positioning a second visual marker on said map UIindicating that said dwelling structure is a single-residence dwellingstructure; and providing said populated map UI for display to a remoteclient device.
 18. The apparatus of claim 17, the method furthercomprising determining a maximum count of residents for overlay on saidmap.
 19. The apparatus of claim 18, wherein said plurality of residentsinclude no more than said maximum count of residents.
 20. The apparatusof claim 17, the method further comprising populating a list UI having aplurality of list entries corresponding respectively to said pluralityof neighborhood dwelling structures.
 21. The apparatus of claim 20,wherein populating said list UI comprises determining a maximum residentcount for initial display in a list entry of said plurality of listentries.
 22. The apparatus of claim 21, wherein populating said list UIfurther comprises, for each of said plurality of neighborhood dwellingstructures: identifying one or more of said plurality of residents whoreside in a current dwelling structure of said plurality of neighborhooddwelling structures; selecting no more than said maximum resident countof said identified one or more of said plurality of residents; andpopulating a list entry corresponding to said current dwelling structurewith name and contact information associated with said selected no morethan said maximum resident count of said identified one or more of saidplurality of residents.
 23. The apparatus of claim 17, the methodfurther comprising: obtaining an indication to prepare a masscommunication to some or all of said plurality of residents residingwithin said neighborhood search boundary; obtaining a communicationtemplate for said mass communication; obtaining a message to customizesaid communication template; obtaining a selection of a plurality ofresidences within said neighborhood search boundary; selecting anaddressee among one or more residents residing within each residence ofsaid selection of said plurality of residences; preparing a customizedcommunication for each selected addressee according to saidcommunication template and said message; and providing each customizedcommunication for delivery to a corresponding addressee.
 24. Theapparatus of claim 23, wherein obtaining said selection of saidplurality of residences comprises providing a plurality of selectioncontrols on said map UI.